The growth of the internet of things (IoT) is expected to result in a drastic increase in the amount of data available to describe the world. As the amount of data increases, users seek to preserve and/or protect the data with backups and replications, driving the demand for storage even higher. One approach to meeting the growing demand for data storage is to add additional storage units (e.g., storage disks) and/or optimize storage capacity. The addition of additional storage units to an online storage system may result in a significant challenge for rebalancing data storage or redistributing data across storage units. In addition, an increased amount of stored data in a storage unit may lead to performance deterioration, such as read and/or write throughputs and/or latencies. As such, performance optimization may be another goal for rebalancing data storage in addition to storage capacity distribution. In addition, IoT data often comprises diminishing level of interest over time. Thus, elasticity may be another important aspect for data.